<pre>
知识点一：基本类型与引用类型的理解
	在编程语言中常用有基本类型和引用类型，基本类型主要是字符串，数值，布尔这样小数据。
	引用类型指：对象，数组，函数等大数据体。
	
	基本类型和引用类型赋值的区别：
	1、按值赋值
		a=3;
		b=a; 
		这个时候b指向的值也是3。 但是b里面的3和a里面的3是完全独立的。	
		在用等号给赋值基本类型的时候，会产生一个值的复制副本。赋值完成后
		a和b相互独立。
	
	2、按引用赋值
		a = [1,2,3]
		b = a 这个时候a也产生一个复制副本，这次复制的不是具体值，而是复制了一份指针副本给b让b也指向了相同的数组。	
		修改b会影响a的结果,修改a同样会影响b的结果。但这并不是永恒的。
	代码示例如下：	
	<script>
		var a = [1,2,3];
		var b = a;
		b[3] = "JS";
		document.write(a); //输出：1,2,3,JS 
	
		//代码示例二
		var a = [1,2,3];
		var b = a;
		a = 555;
		document.write(b); //输出：1,2,3 . b并没有跟着a去变化。
	
		/*
		说明：引用是指绑定对象不变的情况下会同步变化，当绑定对象发生变化了，就不再同步。
		可以这样理解：数组[1,2,3]本身是个对象，a和b是两个变量，当用等号把数组赋值给a的时候,
		实际上是把数组在内存中的地址给a。这样a就能找到数组。
		当用b=a的时候，a又把数组给他的内存地址复制一个副本给b。这样 a和b都和数组对象[1,2,3]产生了绑定。
		对a或b上面应用数组操作时候,会直接去操作他们背后的实际对象。所以他们结果同步。
		但是当我们另赋基本类型555给a的时候，a会直接保存555的地址。不再保存原来数组对象的地址。
		但是b中保存的内存地址没有变化。
		*/
	
		//类似案例:
		var A = function(){ document.write("fnA1");}
		var B = A;
		A = 5;
		B(); 
	
	</script>
	
</pre>